

import  {login}  from  '@/api/user'
import { Message } from 'element-ui';
import  {getUserInfo, setUserInfo,delUserInfo} from  '@/utils/storage'
import router from '@/router'

export  const   user = {
    namespaced: true,
    state(){
      return {

        // 在vuex 数据存储到内存中， 一旦刷新  就丢失了 
        // 一般vuex的数据  一定要配合本地存储存储  数据刷新 不丢失 
        userInfo:  getUserInfo() ||  {}
      }
    },
    mutations:{
      // 同步  处理 
      // this.$store.commit('user/setUserInfo', 1232)
      setUserInfo(state, payload){
        state.userInfo = {...payload }

              // 登录成功 往本地存储数据
      setUserInfo( state.userInfo)
      },
      // delUserInfo: function(){ delUserInfo()}
      delUserInfo(state) {
        // 清空vuex
          state.userInfo = {}
          delUserInfo()
      }
    },
    actions:{
      // 这个里面 发送异步数据请求 
     async loginAction(store, payload){
        //  怎么传递手机号
     try{
      const  res =  await  login(payload)
      console.log(res,'res')



      store.commit('setUserInfo',  res.data)

      // console.log(store.state)


      // 登录成功 跳转到首页
      router.push('/')
      // 提示登录成功
      Message.success('登录成功')


     } catch(e){
      console.log(e)
     }
       

    
      }
    }
  }
